package com.system.test.designPattern.decorator;

/**
 * 装饰者
 * Decorator(抽象装饰类)：它也是抽象构建类的子类，继承或实现抽象构件。它维护一个指向抽象构建对象的引用，通过该引用可以调用装饰之前构建对象的方法，并通过其子类扩展该方法，已达到装饰的目的。
 * @author kaifa002
 *
 */
public abstract class CoffeeDecorator implements Coffee {
	/**
	 * 持有一个咖啡对象
	 */
	protected Coffee coffee;

	public CoffeeDecorator(Coffee coffee) {
		System.out.println("抽象装饰类啊");
		this.coffee = coffee;
	}

	@Override
	public void printMaterial() {
		this.coffee.printMaterial();
	}
	
	
}